//
// Created by 段大志 on 15/12/27.
// Copyright (c) 2015 MengHuan. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "JSONModel.h"

@protocol NumPoolModel;
@protocol DitchManageModel;
@protocol MsgModel;


@interface DataModel : JSONModel
@end

@interface CommonModel : JSONModel//消息列表  号池列表的共用根目录model
@property (strong, nonatomic) NSArray<NumPoolModel>*poolPage; //菜单id
@property (strong, nonatomic) NSArray<DitchManageModel>*serList;
@property (strong, nonatomic) NSArray<MsgModel>*messagePage;
@property (strong, nonatomic) NSString *modFlag;//修改权限
@property (strong, nonatomic) NSString*addFlag;//增加权限
@property (strong, nonatomic) NSString*delFlag;//删除权限
@end


#pragma mark --- 首页动态菜单
@interface SysMenuObject : JSONModel
@property (assign, nonatomic) NSString<Optional>*menuCode; //菜单id
@property (strong, nonatomic) NSString<Optional>*menuName;
@property (strong, nonatomic) NSString<Optional>*menuPcode;
@property (strong, nonatomic) NSString<Optional>*menuUrl;
@property (strong, nonatomic) NSString<Optional>*modelCode;
@property (strong, nonatomic) NSString<Optional>*sysType;
@property (strong, nonatomic) NSString<Optional>*urlBtns;
@property (strong, nonatomic) NSString<Optional>*leafYn;
@end
@protocol SysMenuObject <NSObject>
@end

@interface SysUser : JSONModel
@property (strong, nonatomic) NSString<Optional>*changePwdTime;//
@property (strong, nonatomic) NSString<Optional>*confirmPass;//
@property (strong, nonatomic) NSString<Optional>*createTime;//
@property (strong, nonatomic) NSString<Optional>*email;//13720495000@126.com
@property (strong, nonatomic) NSString<Optional>*endTime;//
@property (strong, nonatomic) NSString<Optional>*flag;//1
@property (strong, nonatomic) NSString<Optional>*id;//153
@property (strong, nonatomic) NSString<Optional>*lockStatus;//
@property (strong, nonatomic) NSString<Optional>*lockStatusTypeName;//
@property (strong, nonatomic) NSString<Optional>*remark;//
@property (strong, nonatomic) NSString<Optional>*servicerCode;//
@property (strong, nonatomic) NSString<Optional>*startTime;//
@property (strong, nonatomic) NSString<Optional>*status;//
@property (strong, nonatomic) NSString<Optional>*statusTypeName;//
@property (strong, nonatomic) NSString<Optional>*terminalId;//
@property (strong, nonatomic) NSString<Optional>*unitId;//
@property (strong, nonatomic) NSString<Optional>*updateTime;//
@property (strong, nonatomic) NSString<Optional>*updateUserId;//
@property (strong, nonatomic) NSString<Optional>*userCode;//
@property (strong, nonatomic) NSString<Optional>*userName;//用户名
@property (strong, nonatomic) NSString<Optional>*userPwd;//
@property (strong, nonatomic) NSString<Optional>*userType;//用户类型 莲湖祁玉涛
@property (strong, nonatomic) NSString<Ignore>*userTypeMyname;//用户类型 莲湖祁玉涛
@property (strong, nonatomic) NSString<Optional>*userTypeName;//
@property (strong, nonatomic) NSString<Optional>*validTime;//
@end

@interface SysUnit : JSONModel
@property (strong, nonatomic) NSString<Optional>*areaCode;//
@property (strong, nonatomic) NSString<Optional>*flag;//0
@property (strong, nonatomic) NSString<Optional>*flagTyprName;//正常
@property (strong, nonatomic) NSString<Optional>*id;//154
@property (strong, nonatomic) NSString<Optional>*name;//莲湖分公司
@property (strong, nonatomic) NSString<Optional>*parentUnitId;//135
@property (strong, nonatomic) NSString<Optional>*regionName;//0
@property (strong, nonatomic) NSString<Optional>*remark;//莲湖分公司
@property (strong, nonatomic) NSString<Optional>*unitType;//2
@property (strong, nonatomic) NSString<Optional>*unitTypeName;//省单位
@property (strong, nonatomic) NSString<Optional>*updateTime;//20150519113354
@end

#pragma mark --- 首页动态菜单
@interface NoticePageObject : JSONModel
@property (assign, nonatomic) NSString<Optional>*creatTime; //20150703164837
@property (strong, nonatomic) NSString<Optional>*fileName;
@property (strong, nonatomic) NSString<Optional>*filePath;
@property (strong, nonatomic) NSString<Optional>*id;//144
@property (strong, nonatomic) NSString<Optional>*title;//7月新入网特惠活动宣传画面
@property (strong, nonatomic) NSString<Optional>*userId;//294
@property (strong, nonatomic) NSString<Optional>*notice;// 网页"<img src=\"/data/itemimg/richfiles/2015/07/0320150703164717jDo2Y.jpg\" alt=\"\" /><img src=\"/data/itemimg/richfiles/2015/07/0320150703164803Lqs43.jpg\" alt=\"\" /><img src=\"/data/itemimg/richfiles/2015/07/032015070316464202uWi.jpg\" alt=\"\" />",
@property (strong, nonatomic) NSString<Optional>*leafYn;
@end
@protocol NoticePageObject <NSObject>
@end

#pragma mark 首页的顶部的滚动的公告
@interface NoticePage : JSONModel
@property (strong, nonatomic) NSString<Optional>*avaCount;//;// 3,
@property (strong, nonatomic) NSString<Optional>*curPage;//;// 1,
@property (strong, nonatomic) NSMutableArray<NoticePageObject, ConvertOnDemand, Optional>* data; //;// [],
@property (strong, nonatomic) NSMutableArray<NoticePageObject, ConvertOnDemand, Optional>* list; //;// [],
@property (strong, nonatomic) NSArray<Ignore> *dataNameArra;
@property (strong, nonatomic) NSString<Optional>*end;//;// 3,
@property (strong, nonatomic) NSString<Optional>*pageCount;//;// 1,
@property (strong, nonatomic) NSString<Optional>*pageSize;//;// 10,
@property (strong, nonatomic) NSString<Optional>*recordCount;//;// 3,
@property (strong, nonatomic) NSString<Optional>*start;//;// 1,
@property (strong, nonatomic) NSString<Optional>*startOfNextPage;//;// 4,
@property (strong, nonatomic) NSString<Optional>*startOfPreviousPage;//;// 1
@end

#pragma mark 消息model
@protocol MsgModel<NSObject>
@end
@interface MsgModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*userId;
@property (strong, nonatomic) NSString<Optional>*gdId;
@property (strong, nonatomic) NSString<Optional>*id;
@property (strong, nonatomic) NSString<Optional>*recUserId;
@property (strong, nonatomic) NSString<Optional>*creatTime;
@property (strong, nonatomic) NSString<Optional>*message;
@property (strong, nonatomic) NSString<Optional>*readTime;
@property (strong, nonatomic) NSString<Optional>*title;
@property (strong, nonatomic) NSString<Optional>*sign;
@property (strong, nonatomic) NSString<Optional>*messageType;

@end

#pragma mark 号池信息model
@protocol NumPoolModel<NSObject>
@end
@interface NumPoolModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*userId;
@property (strong, nonatomic) NSString<Optional>*mobile;
@property (strong, nonatomic) NSString<Optional>*id;
@property (strong, nonatomic) NSString<Optional>*servicer;
@property (strong, nonatomic) NSString<Optional>*createTime;
@property (strong, nonatomic) NSString<Optional>*updateTime;
@property (strong, nonatomic) NSString<Optional>*updateUserId;
@property (strong, nonatomic) NSString<Optional>*flag;
@end

#pragma mark 渠道经理信息model
@protocol DitchManageModel<NSObject>
@end
@interface DitchManageModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*userName;
@property (strong, nonatomic) NSString<Optional>*servicerCode;//渠道编码
@end


#pragma mark 消息接收者model
@interface MsgReceiveModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*name;
@property (strong, nonatomic) NSString<Optional>*storeName;
@property (strong, nonatomic) NSString<Optional>*userId;
@property(nonatomic, assign) BOOL isSelected;
@end

@interface SelectTypeBean : JSONModel
@property (strong, nonatomic) NSString<Optional> *id  ;//ID
@property (strong, nonatomic) NSString<Optional> *name  ;//名称
@property (strong, nonatomic) NSString<Optional> *picpath  ;//图标路径

- (instancetype)initWithName:(NSString <Optional> *)name;
+ (instancetype)beanWithName:(NSString <Optional> *)name;

- (instancetype)initWithId:(NSString <Optional> *)id name:(NSString <Optional> *)name;

+ (instancetype)beanWithId:(NSString <Optional> *)id name:(NSString <Optional> *)name;


- (instancetype)initWithId:(NSString <Optional> *)id name:(NSString <Optional> *)name picpath:(NSString <Optional> *)picpath;
+ (instancetype)beanWithId:(NSString <Optional> *)id name:(NSString <Optional> *)name picpath:(NSString <Optional> *)picpath;

@end

#pragma mark 工单处理model
@interface OrderDealModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*confirmTime;//确认时间
@property (strong, nonatomic) NSString<Optional>*creatTime;
@property (strong, nonatomic) NSString<Optional>*id;//工单号（
@property (strong, nonatomic) NSString<Optional>*sendgoodTime;
@property (strong, nonatomic) NSString<Optional>*servicer;//渠道经理编码
@property (strong, nonatomic) NSString<Optional>*sign;//sign工单处理状态 0：新建  1：审核通过（type=5||type=6） 1：确认（type!=5||type!=6）  2:发货  3：收货  4：审核驳回
@property (strong, nonatomic) NSString<Optional>*type;//工单类型type 1：空卡  2：号卡  3：物料  4：办公耗材  5：渠道信息变更  6：渠道经理变更
@property (strong, nonatomic) NSString<Optional>*userId;//创建门店id
@end

@interface OrderDealDetailModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*accountType;
@property (strong, nonatomic) NSString<Optional>*auditSecondTime;
@property (strong, nonatomic) NSString<Optional>*auditTime;
@property (strong, nonatomic) NSString<Optional>*auditor;
@property (strong, nonatomic) NSString<Optional>*auditorSecond;
@property (strong, nonatomic) NSString<Optional>*bankAccount;
@property (strong, nonatomic) NSString<Optional>*bankAccountName;
@property (strong, nonatomic) NSString<Optional>*bankAddress;
@property (strong, nonatomic) NSString<Optional>*bankId;
@property (strong, nonatomic) NSString<Optional>*businessAddress;
@property (strong, nonatomic) NSString<Optional>*businessArea;
@property (strong, nonatomic) NSString<Optional>*businessLicense;
@property (strong, nonatomic) NSString<Optional>*creatTime;
@property (strong, nonatomic) NSString<Optional>*email;
@property (strong, nonatomic) NSString<Optional>*griddingAreaId;
@property (strong, nonatomic) NSString<Optional>*id;
@property (strong, nonatomic) NSString<Optional>*idCard;
@property (strong, nonatomic) NSString<Optional>*legalPerson;
@property (strong, nonatomic) NSString<Optional>*mainType;
@property (strong, nonatomic) NSString<Optional>*name;
@property (strong, nonatomic) NSString<Optional>*qq;
@property (strong, nonatomic) NSString<Optional>*salesmanId;
@property (strong, nonatomic) NSString<Optional>*servicer;
@property (strong, nonatomic) NSString<Optional>*sign;
@property (strong, nonatomic) NSString<Optional>*storeName;//门店名称
@property (strong, nonatomic) NSString<Optional>*terminalId;
@property (strong, nonatomic) NSString<Optional>*userId;
@property (strong, nonatomic) NSString<Optional>*websiteCode;
@property (strong, nonatomic) NSString<Optional>*wechat;
@end

@interface OrderDealDetailOrderInfo : JSONModel
@property (strong, nonatomic) NSString<Optional>*confirmTime;//确认时间
@property (strong, nonatomic) NSString<Optional>*creatTime;//创建时间
@property (strong, nonatomic) NSString<Optional>*id;//工单号
@property (strong, nonatomic) NSString<Optional>*sendgoodTime;//发货时间
@property (strong, nonatomic) NSString<Optional>*servicer;//渠道经理编码
//0：新建  1：审核通过（type=5||type=6） 1：确认（type!=5||type!=6）  2:发货  3：收货  4：审核驳回
@property (strong, nonatomic) NSString<Optional>*sign;//工单处理状态（orderInfo.sign）
@property (strong, nonatomic) NSString<Optional>*userId;//创建门店id 通过该id关联查找门店名称
@end

@interface OrderDealDetailOrderContentInfo : JSONModel
@property (strong, nonatomic) NSString<Optional>*basicId;//工单号(orderInfo的id)
@property (strong, nonatomic) NSString<Optional>*chanageMain;//确认时间
@property (strong, nonatomic) NSString<Optional>*expressName;//快递名称
@property (strong, nonatomic) NSString<Optional>*expressNum;//快递单号
@property (strong, nonatomic) NSString<Optional>*expressRemark;//快递备注
@property (strong, nonatomic) NSString<Optional>*id;//
@property (strong, nonatomic) NSString<Optional>*neuBankAccountName;//旧银行账户名
@property (strong, nonatomic) NSString<Optional>*neuBankId;//新银行ID
@property (strong, nonatomic) NSString<Optional>*neuBankName;//新银行名称
@property (strong, nonatomic) NSString<Optional>*neuBusinessAddress;//新的营业地址
@property (strong, nonatomic) NSString<Optional>*oldSubBank;//旧支行
@property (strong, nonatomic) NSString<Optional>*neuSubBank;//新支行
@property (strong, nonatomic) NSString<Optional>*neuShop;//新门店名称
@property (strong, nonatomic) NSString<Optional>*oldAccount;//旧银行账号
@property (strong, nonatomic) NSString<Optional>*neuAccount;//新银行账号
@property (strong, nonatomic) NSString<Optional>*oldBankAccountName;//旧银行账户名
@property (strong, nonatomic) NSString<Optional>*oldBankId;//旧银行ID
@property (strong, nonatomic) NSString<Optional>*oldBankName;//旧银行名称
@property (strong, nonatomic) NSString<Optional>*oldBusinessAddress;//旧的营业地址
@property (strong, nonatomic) NSString<Optional>*oldDistrict;//原门店区域
@property (strong, nonatomic) NSString<Optional>*neuDistrict;//新门店区域
@property (strong, nonatomic) NSString<Optional>*oldPassword;//旧VPN密码
@property (strong, nonatomic) NSString<Optional>*neuPassword;//新VPN密码
@property (strong, nonatomic) NSString<Optional>*oldServicer;//需变更的渠道经理编码
@property (strong, nonatomic) NSString<Optional>*oldShop;//旧的门店名称
@property (strong, nonatomic) NSString<Optional>*remark;//备注
@property (strong, nonatomic) NSString<Optional>*secondType;//快递类型
@property (strong, nonatomic) NSString<Optional>*segment;//号段
@property (strong, nonatomic) NSString<Optional>*sendType;//
@property (strong, nonatomic) NSString<Optional>*sjAmount;//实发数目
@property (strong, nonatomic) NSString<Optional>*sqAmount;//申请数目
@end

@interface OrderDealDetailPoolList : JSONModel
@property (strong, nonatomic) NSString<Optional>*createTime;//20150602164827
@property (strong, nonatomic) NSString<Optional>*flag;//0
@property (strong, nonatomic) NSString<Optional>*id;//6882
@property (strong, nonatomic) NSString<Optional>*mobile;//15129034357
@property (strong, nonatomic) NSString<Optional>*servicer;//LH007 所属渠道经理编码
@property (strong, nonatomic) NSString<Optional>*updateTime;//
@property (strong, nonatomic) NSString<Optional>*updateUserId;//
@property (strong, nonatomic) NSString<Optional>*userId;//153
@end


@interface TelModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*basicId;//323
@property (strong, nonatomic) NSString<Optional>*id;//41
@property (strong, nonatomic) NSString<Optional>*mobile;//15109192345
@property (strong, nonatomic) NSString<Optional>*userId;
@end


#pragma mark 门店签约
 @interface StoresListModel : JSONModel
 @property (strong, nonatomic) NSString<Optional>*auditor;//
 @property (strong, nonatomic) NSString<Optional>*legalPerson;//沈建凡
 @property (strong, nonatomic) NSString<Optional>*id;//1504
 @property (strong, nonatomic) NSString<Optional>*terminalId;//15191910596
 @property (strong, nonatomic) NSString<Optional>*businessLicense;//
 @property (strong, nonatomic) NSString<Optional>*businessArea;//
 @property (strong, nonatomic) NSString<Optional>*auditTime;//
 @property (strong, nonatomic) NSString<Optional>*name;//
 @property (strong, nonatomic) NSString<Optional>*userId;//
 @property (strong, nonatomic) NSString<Optional>*bankAddress;//
 @property (strong, nonatomic) NSString<Optional>*qq;//
 @property (strong, nonatomic) NSString<Optional>*businessAddress;//西安市雁塔区小寨西路郝家村5号
 @property (strong, nonatomic) NSString<Optional>*servicer;//
 @property (strong, nonatomic) NSString<Optional>*idCard;//
 @property (strong, nonatomic) NSString<Optional>*storeName;//混营店：超凡通讯
 @property (strong, nonatomic) NSString<Optional>*bankName;//
 @property (strong, nonatomic) NSString<Optional>*creatTime;//
 @property (strong, nonatomic) NSString<Optional>*auditSecondTime;//
 @property (strong, nonatomic) NSString<Optional>*mainType;//
 @property (strong, nonatomic) NSString<Optional>*websiteCode;//A0ADHF04
 @property (strong, nonatomic) NSString<Optional>*bankId;//
 @property (strong, nonatomic) NSString<Optional>*auditorSecond;//
 @property (strong, nonatomic) NSString<Optional>*sign;//审核状态
 @property (strong, nonatomic) NSString<Optional>*griddingAreaId;//
 @property (strong, nonatomic) NSString<Optional>*email;//
 @property (strong, nonatomic) NSString<Optional>*salesmanId;//
 @property (strong, nonatomic) NSString<Optional>*accountType;//号卡渠道
 @property (strong, nonatomic) NSString<Optional>*wechat;//
 @property (strong, nonatomic) NSString<Optional>*bankAccount;//
 @property (strong, nonatomic) NSString<Optional>*reson;//拒绝原因
 @end


#pragma mark -------------10、	后台业务---------------------------
@interface BlackListModel : JSONModel
@property (strong, nonatomic) NSString<Optional>*creatTime;// "20160421230208", 后台业务创建时间
@property (strong, nonatomic) NSString<Optional>*gdId;// 331, 后台业务创建时的回话Id
@property (strong, nonatomic) NSString<Optional>*id;// 331, 后台业务id
@property (strong, nonatomic) NSString<Optional>*message;// "123456测试", 后台业务内容
@property (strong, nonatomic) NSString<Optional>*messageType;// 3, 后台业务类型 (3后台业务  4  普通会话)
@property (strong, nonatomic) NSString<Optional>*readTime;// "",处理时间
@property (strong, nonatomic) NSString<Optional>*recUserId;// "341", <!!>
@property (strong, nonatomic) NSString<Optional>*sendType;// "1",发送者类型  (0 管理系统发出  1 表示门店发出)
@property (strong, nonatomic) NSString<Optional>*sign;// "1", 处理标记 1,1,2 1未处理  2已读 3已处理
@property (strong, nonatomic) NSString<Optional>*title;// "123456测试", 后台业务标题
@property (strong, nonatomic) NSString<Optional>*userId;// "6317" 发送者id
@end

//自己拼接的实体类
@interface BlackListWrapModel : NSObject
@property (strong, nonatomic) NSMutableArray<NSDictionary*> *dictionary;//门店信息MAP,key值为id，value为中文名称 (用于使用后面的recUserId/userId获取对应的中文名称)
@property (strong, nonatomic) NSMutableArray<BlackListModel *> *blackListModels;//只有一个数据
@end


@interface BlackUserMapModel : JSONModel//后台业务用户信息
@property (strong, nonatomic) NSString<Optional>*websiteName;//;// "中域通讯白波店", //后台业务用户信息
@property (strong, nonatomic) NSString<Optional>*sysUser;//;// "倪军" //sysUser：处理者
@end
@protocol BlackUserMapModel
@end

@interface BackMessListModel : JSONModel //历史会话列表信息
@property (strong, nonatomic) NSString<Optional>*creatTime;// "20160421230208",
@property (strong, nonatomic) NSString<Optional>*gdId;// 331,
@property (strong, nonatomic) NSString<Optional>*id;// 331,
@property (strong, nonatomic) NSString<Optional>*message;// "123456测试",
@property (strong, nonatomic) NSString<Optional>*messageType;// 3,
@property (strong, nonatomic) NSString<Optional>*readTime;// "",
@property (strong, nonatomic) NSString<Optional>*recUserId;// "341",
@property (strong, nonatomic) NSString<Optional>*sendType;// "1",
@property (strong, nonatomic) NSString<Optional>*sign;// "2",
@property (strong, nonatomic) NSString<Optional>*title;// "123456测试",
@property (strong, nonatomic) NSString<Optional>*userId;// "6317"
@end
@protocol BackMessListModel
@end

@interface BackViewWrapModel : JSONModel
@property (strong, nonatomic) BackMessListModel*blackMess;
@property (strong, nonatomic) BlackUserMapModel*userMap;
@property (strong, nonatomic) NSMutableArray<BackMessListModel *> *backMessList;
@end
